package com.ys.entity.account;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_AdvanceAccountDetail", catalog="Id")
public class TcwAdvanceAccountDetail extends BaseEntity<TcwAdvanceAccountDetail> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Pid", nameJava="pid", typeDataBase="bigint")
	private Long pid;
	@YsField(nameDataBase="CreateChangeId", nameJava="createChangeId", typeDataBase="bigint")
	private Long createChangeId;
	@YsField(nameDataBase="CompanyInfoVid", nameJava="companyInfoVid", typeDataBase="varchar")
	private String companyInfoVid;
	@YsField(nameDataBase="AdvanceTypeCode", nameJava="advanceTypeCode", typeDataBase="varchar")
	private String advanceTypeCode;
	@YsField(nameDataBase="Vjylx", nameJava="vjylx", typeDataBase="varchar")
	private String vjylx;
	@YsField(nameDataBase="DetailName", nameJava="detailName", typeDataBase="varchar")
	private String detailName;
	@YsField(nameDataBase="UnitPrice", nameJava="unitPrice", typeDataBase="decimal")
	private BigDecimal unitPrice;
	@YsField(nameDataBase="Quantity", nameJava="quantity", typeDataBase="decimal")
	private BigDecimal quantity;
	@YsField(nameDataBase="TotalPrice", nameJava="totalPrice", typeDataBase="decimal")
	private BigDecimal totalPrice;
	@YsField(nameDataBase="Remark", nameJava="remark", typeDataBase="varchar")
	private String remark;
	@YsField(nameDataBase="AnnexFile", nameJava="annexFile", typeDataBase="varchar")
	private String annexFile;
	@YsField(nameDataBase="FromId", nameJava="fromId", typeDataBase="bigint")
	private Long fromId;
	@YsField(nameDataBase="FromType", nameJava="fromType", typeDataBase="tinyint")
	private Integer fromType;
	@YsField(nameDataBase="DetailType", nameJava="detailType", typeDataBase="tinyint")
	private Integer detailType;
	@YsField(nameDataBase="Vgsbm", nameJava="vgsbm", typeDataBase="varchar")
	private String vgsbm;
	@YsField(nameDataBase="ProxyPrice", nameJava="proxyPrice", typeDataBase="decimal")
	private BigDecimal proxyPrice;
	@YsField(nameDataBase="ProxyTotalPrice", nameJava="proxyTotalPrice", typeDataBase="decimal")
	private BigDecimal proxyTotalPrice;
	@YsField(nameDataBase="TransferStatus", nameJava="transferStatus", typeDataBase="tinyint")
	private Integer transferStatus;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwAdvanceAccountDetail setId(Long id) {
		this.id = id;
		return this;
	}
	public Long getPid() {
		return pid;
	}
	public TcwAdvanceAccountDetail setPid(Long pid) {
		this.pid = pid;
		return this;
	}
	public Long getCreateChangeId() {
		return createChangeId;
	}
	public TcwAdvanceAccountDetail setCreateChangeId(Long createChangeId) {
		this.createChangeId = createChangeId;
		return this;
	}
	public String getCompanyInfoVid() {
		return companyInfoVid;
	}
	public TcwAdvanceAccountDetail setCompanyInfoVid(String companyInfoVid) {
		this.companyInfoVid = companyInfoVid;
		return this;
	}
	public String getAdvanceTypeCode() {
		return advanceTypeCode;
	}
	public TcwAdvanceAccountDetail setAdvanceTypeCode(String advanceTypeCode) {
		this.advanceTypeCode = advanceTypeCode;
		return this;
	}
	public String getVjylx() {
		return vjylx;
	}
	public TcwAdvanceAccountDetail setVjylx(String vjylx) {
		this.vjylx = vjylx;
		return this;
	}
	public String getDetailName() {
		return detailName;
	}
	public TcwAdvanceAccountDetail setDetailName(String detailName) {
		this.detailName = detailName;
		return this;
	}
	public BigDecimal getUnitPrice() {
		return unitPrice;
	}
	public TcwAdvanceAccountDetail setUnitPrice(BigDecimal unitPrice) {
		this.unitPrice = unitPrice;
		return this;
	}
	public BigDecimal getQuantity() {
		return quantity;
	}
	public TcwAdvanceAccountDetail setQuantity(BigDecimal quantity) {
		this.quantity = quantity;
		return this;
	}
	public BigDecimal getTotalPrice() {
		return totalPrice;
	}
	public TcwAdvanceAccountDetail setTotalPrice(BigDecimal totalPrice) {
		this.totalPrice = totalPrice;
		return this;
	}
	public String getRemark() {
		return remark;
	}
	public TcwAdvanceAccountDetail setRemark(String remark) {
		this.remark = remark;
		return this;
	}
	public String getAnnexFile() {
		return annexFile;
	}
	public TcwAdvanceAccountDetail setAnnexFile(String annexFile) {
		this.annexFile = annexFile;
		return this;
	}
	public Long getFromId() {
		return fromId;
	}
	public TcwAdvanceAccountDetail setFromId(Long fromId) {
		this.fromId = fromId;
		return this;
	}
	public Integer getFromType() {
		return fromType;
	}
	public TcwAdvanceAccountDetail setFromType(Integer fromType) {
		this.fromType = fromType;
		return this;
	}
	public Integer getDetailType() {
		return detailType;
	}
	public TcwAdvanceAccountDetail setDetailType(Integer detailType) {
		this.detailType = detailType;
		return this;
	}
	public String getVgsbm() {
		return vgsbm;
	}
	public TcwAdvanceAccountDetail setVgsbm(String vgsbm) {
		this.vgsbm = vgsbm;
		return this;
	}
	public BigDecimal getProxyPrice() {
		return proxyPrice;
	}
	public TcwAdvanceAccountDetail setProxyPrice(BigDecimal proxyPrice) {
		this.proxyPrice = proxyPrice;
		return this;
	}
	public BigDecimal getProxyTotalPrice() {
		return proxyTotalPrice;
	}
	public TcwAdvanceAccountDetail setProxyTotalPrice(BigDecimal proxyTotalPrice) {
		this.proxyTotalPrice = proxyTotalPrice;
		return this;
	}
	public Integer getTransferStatus() {
		return transferStatus;
	}
	public TcwAdvanceAccountDetail setTransferStatus(Integer transferStatus) {
		this.transferStatus = transferStatus;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwAdvanceAccountDetail setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwAdvanceAccountDetail setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwAdvanceAccountDetail setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwAdvanceAccountDetail tcwAdvanceAccountDetail(
		Long pid,
		Long createChangeId,
		String companyInfoVid,
		String advanceTypeCode,
		String vjylx,
		String detailName,
		BigDecimal unitPrice,
		BigDecimal quantity,
		BigDecimal totalPrice,
		String remark,
		String annexFile,
		Long fromId,
		Integer fromType,
		Integer detailType,
		String vgsbm,
		BigDecimal proxyPrice,
		BigDecimal proxyTotalPrice,
		Integer transferStatus,
		Integer status
			) {
		TcwAdvanceAccountDetail entity = new TcwAdvanceAccountDetail();
		entity.setPid(pid);
		entity.setCreateChangeId(createChangeId);
		entity.setCompanyInfoVid(companyInfoVid);
		entity.setAdvanceTypeCode(advanceTypeCode);
		entity.setVjylx(vjylx);
		entity.setDetailName(detailName);
		entity.setUnitPrice(unitPrice);
		entity.setQuantity(quantity);
		entity.setTotalPrice(totalPrice);
		entity.setRemark(remark);
		entity.setAnnexFile(annexFile);
		entity.setFromId(fromId);
		entity.setFromType(fromType);
		entity.setDetailType(detailType);
		entity.setVgsbm(vgsbm);
		entity.setProxyPrice(proxyPrice);
		entity.setProxyTotalPrice(proxyTotalPrice);
		entity.setTransferStatus(transferStatus);
		entity.setStatus(status);
		return entity;
	}
}